'\" te
.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
.TH NWAMD 8 "Nov 24, 2008"
.SH NAME
nwamd \- network auto-magic daemon
.SH SYNOPSIS
.LP
.nf
\fB/lib/inet/nwamd\fR
.fi

.SH DESCRIPTION
.sp
.LP
\fBnwamd\fR is a system daemon to manage network interfaces.
.sp
.LP
This daemon is started automatically and should not be invoked directly. It
does not constitute a programming interface.
.SS "Operation"
.sp
.LP
Whether this daemon is enabled or not depends on your installation medium. To
check from within the GNOME desktop environment, double click on the "Network
Manager" icon to open the "Connection Properties" window. If "Configure network
automatically" is checked, then auto-magic mode is enabled. To check from the
command line, enter the following:
.sp
.in +2
.nf
% \fBsvcs svc:/network/physical\fR
.fi
.in -2
.sp

.sp
.LP
Two instances will be listed, one online and the other disabled. If the "nwam"
instance is online, then this daemon is running.
.sp
.LP
To switch between manual and auto-magic mode, you can use the Network Monitor
applet available within the GNOME desktop environment. You can also switch
manually from the command line by entering:
.sp
.in +2
.nf
% \fBsvcadm disable svc:/network/physical:default\fR
% \fBsvcadm enable svc:/network/physical:nwam\fR
.fi
.in -2
.sp

.sp
.LP
To go from auto-magic mode to manual mode:
.sp
.in +2
.nf
% \fBsvcadm disable svc:/network/physical:nwam\fR
% \fBsvcadm enable svc:/network/physical:default\fR
.fi
.in -2
.sp

.sp
.LP
When switching modes like this, keep in mind that all network interfaces will
be brought down then back up. Therefore, if a different \fBIP\fR address is
configured in this process, existing applications and sessions might be
disrupted.
.sp
.LP
There is a limitation that only one link is active at a time in auto-magic
mode. This mode is not recommended for machines that use more than one link at
a time. For machines with wired and wireless links, wired link are preferred by
default, although this can be adjusted from the GNOME NWAM Manager menu
(right-click on the icon), or from the command line, by editing the plain text
file  \fB/etc/nwam/llp\fR.  For the latter (hand-editing) procedure, the first
instance of a link in  \fB/etc/nwam/llp\fR sets the priority of that link.
Subsequent instances of that link set parameters associated with the interface
on that link.
.sp
.LP
The \fB/etc/nwam/llp\fR interface is volatile and might  change in a future
release.
.SS "Static IP Addresses"
.sp
.LP
A static IP address can be configured by changing the line in the
\fB/etc/nwam/llp\fR file that contains an interface name and the name of the
method for obtaining an IP address. It might look like:
.sp
.in +2
.nf
nge0    dhcp
.fi
.in -2
.sp

.sp
.LP
Change this line to one that looks like:
.sp
.in +2
.nf
nge0    static  \fII\fR1.\fII\fR2.\fII\fR3.\fII\fR4/\fIP\fR
.fi
.in -2
.sp

.sp
.LP
\&...where the I's are the digits of the IPv4 address and the \fIP\fR is an
optional prefix. If the prefix is not provided, it is derived, using classful
assumptions.
.SS "Configuring IPv6"
.sp
.LP
IPv6 is configured by default on a link. It can also be explicitly added in the
\fB/etc/nwam/llp\fR file by providing a line that contains an interface name
and the string \fBipv6\fR. It might look like:
.sp
.in +2
.nf
nge0    ipv6
.fi
.in -2
.sp

.sp
.LP
If IPv6 should not be plumbed on a given link, a \fBnoipv6\fR entry should be
created in the \fB/etc/nwam/llp\fR file for that link. It might look like:
.sp
.in +2
.nf
nge0 noipv6
.fi
.in -2
.sp

.sp
.LP
An optional static IPv6 address can be provided on the same line, immediately
after the \fBipv6\fR token. Whether you provide a static address or not, IPv6
will use DHCPv6 or stateless address configuration, as directed by the local
network configuration.
.SS "PROFILES"
.sp
.LP
All interfaces listed in this section are volatile and may change in a future
release. They are documented here so that those wishing to experiment with this
may do so.
.sp
.LP
Profiles are a mechanism for making multiple related changes to the system
configuration after \fBIP\fR service is available.
.sp
.LP
There is no direct support for the profiles yet, but a "roll your own"
mechanism is provided for now. Once an interface is brought up and an \fBIP\fR
address is configured for it, the daemon looks for the file
\fB/etc/nwam/ulp/check-conditions\fR. If this file exists and is executable, it
is run. This should print a single line of output, which is the name of the
profile that the user wishes to activate based on the current conditions. If
such a line is read successfully (\fIfoo\fR in this example), then
\fB/etc/nwam/ulp/foo/bringup\fR is executed. Likewise, when the interface gets
torn down for whatever reason, \fB/etc/nwam/ulp/foo/teardown\fR is executed.
The "bringup" and "teardown" scripts are invoked via \fBpfexec\fR(1) with
default basic privileges. Samples for each of these scripts can be found at:
.RS +4
.TP
.ie t \(bu
.el o
http://opensolaris.org/os/project/nwam/prototype/check-conditions
.RE
.RS +4
.TP
.ie t \(bu
.el o
http://opensolaris.org/os/project/nwam/prototype/bringup
.RE
.RS +4
.TP
.ie t \(bu
.el o
http://opensolaris.org/os/project/nwam/prototype/teardown
.RE
.SS "Wireless"
.sp
.LP
If no wired link is available, a scan for wireless \fBLAN\fRs is done, and the
resulting list offered via a \fBGUI\fR popup window prompts the console user to
select a preference. If a successful connection is made, the \fBWLAN\fR in
question is stored in the plain text file \fB/etc/nwam/known_wifi_nets\fR and
the daemon may connect to any \fBWLAN\fR in that list without prompting the
user again. If a user wishes to add other preferences or revoke existing ones,
he can do so by bringing up the NWAM Manager menu with right-click on the icon,
and then selecting "Manage Favorite Wireless Networks...". A user can also edit
the \fBknown_wifi_nets\fR file directly. This interface is volatile and might
change in a future release.
.SH ATTRIBUTES
.sp
.LP
See \fBattributes\fR(7) for descriptions of the following attributes:
.sp

.sp
.TS
box;
c | c
l | l .
ATTRIBUTE TYPE	ATTRIBUTE VALUE
_
Interface Stability	Volatile
.TE

.SH SEE ALSO
.sp
.LP
.BR svcs (1),
.BR attributes (7),
.BR smf (7),
.BR svcadm (8)
.sp
.LP
See also \fBnwam-manager(8)\fR, available in the JDS/GNOME man page
collection.
.SH NOTES
.sp
.LP
The networking service is managed by the service management facility,
\fBsmf\fR(7), under the service identifier:
.sp
.in +2
.nf
svc:/network/physical
.fi
.in -2
.sp

.sp
.LP
Administrative actions on this service, such as enabling, disabling, or
requesting restart, can be performed using \fBsvcadm\fR(8). The service's
status can be queried using the \fBsvcs\fR(1) command.
